/**
 * Vue 模板加载器
 * @auth desire
 */
define("vue-loader", function() {
    let buildMap = {};
    let buildIdx = 0;
    let debug = true;
    const parseComponent=(function(){
        var splitRE = /\r?\n/g;
        var emptyRE = /^\s*$/;
        var needFixRE = /^(\r?\n)*[\t\s]/;

        var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;

// Regular Expressions for parsing tags and attributes
        var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
        var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
        var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + (unicodeRegExp.source) + "]*";
        var qnameCapture = "((?:" + ncname + "\\:)?" + ncname + ")";
        var startTagOpen = new RegExp(("^<" + qnameCapture));
        var startTagClose = /^\s*(\/?)>/;
        var endTag = new RegExp(("^<\\/" + qnameCapture + "[^>]*>"));
        var doctype = /^<!DOCTYPE [^>]+>/i;
        var comment = /^<!\--/;
        var conditionalComment = /^<!\[/;

        var reCache = {};

        function deindent (str) {
            if (!needFixRE.test(str)) {
                return str
            }
            var lines = str.split(splitRE);
            var min = Infinity;
            var type, cur, c;
            for (var i = 0; i < lines.length; i++) {
                var line = lines[i];
                if (!emptyRE.test(line)) {
                    if (!type) {
                        c = line.charAt(0);
                        if (c === ' ' || c === '\t') {
                            type = c;
                            cur = count(line, type);
                            if (cur < min) {
                                min = cur;
                            }
                        } else {
                            return str
                        }
                    } else {
                        cur = count(line, type);
                        if (cur < min) {
                            min = cur;
                        }
                    }
                }
            }
            return lines.map(function (line) {
                return line.slice(min)
            }).join('\n')
        };

        function count (line, type) {
            var i = 0;
            while (line.charAt(i) === type) {
                i++;
            }
            return i
        }

        function makeMap(str, expectsLowerCase) {
            const map = Object.create(null);
            const list = str.split(',');
            for (let i = 0; i < list.length; i++) {
                map[list[i]] = true;
            }
            return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];
        }

        var replaceRE = /./g;
        var isSpecialTag = makeMap('script,style,template', true);
        var isPlainTextElement = makeMap('script,style,textarea', true);
        var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;
        var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;

        // #5992
        var isIgnoreNewlineTag = makeMap('pre,textarea', true);
        var shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; };

        function decodeAttr (value, shouldDecodeNewlines) {
            var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;
            return value.replace(re, function (match) { return decodingMap[match]; })
        }

        var isNonPhrasingTag = makeMap(
            'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +
            'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +
            'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +
            'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +
            'title,tr,track'
        );
        var no = function (a, b, c) { return false; };

        function parseHTML (html, options) {
            var stack = [];
            var expectHTML = options.expectHTML;
            var isUnaryTag$$1 = options.isUnaryTag || no;
            var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;
            var index = 0;
            var last, lastTag;
            while (html) {
                last = html;
                // Make sure we're not in a plaintext content element like script/style
                if (!lastTag || !isPlainTextElement(lastTag)) {
                    var textEnd = html.indexOf('<');
                    if (textEnd === 0) {
                        // Comment:
                        if (comment.test(html)) {
                            var commentEnd = html.indexOf('-->');

                            if (commentEnd >= 0) {
                                if (options.shouldKeepComment) {
                                    options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);
                                }
                                advance(commentEnd + 3);
                                continue
                            }
                        }

                        // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
                        if (conditionalComment.test(html)) {
                            var conditionalEnd = html.indexOf(']>');

                            if (conditionalEnd >= 0) {
                                advance(conditionalEnd + 2);
                                continue
                            }
                        }

                        // Doctype:
                        var doctypeMatch = html.match(doctype);
                        if (doctypeMatch) {
                            advance(doctypeMatch[0].length);
                            continue
                        }

                        // End tag:
                        var endTagMatch = html.match(endTag);
                        if (endTagMatch) {
                            var curIndex = index;
                            advance(endTagMatch[0].length);
                            parseEndTag(endTagMatch[1], curIndex, index);
                            continue
                        }

                        // Start tag:
                        var startTagMatch = parseStartTag();
                        if (startTagMatch) {
                            handleStartTag(startTagMatch);
                            if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {
                                advance(1);
                            }
                            continue
                        }
                    }

                    var text = (void 0), rest = (void 0), next = (void 0);
                    if (textEnd >= 0) {
                        rest = html.slice(textEnd);
                        while (
                            !endTag.test(rest) &&
                            !startTagOpen.test(rest) &&
                            !comment.test(rest) &&
                            !conditionalComment.test(rest)
                            ) {
                            // < in plain text, be forgiving and treat it as text
                            next = rest.indexOf('<', 1);
                            if (next < 0) { break }
                            textEnd += next;
                            rest = html.slice(textEnd);
                        }
                        text = html.substring(0, textEnd);
                    }

                    if (textEnd < 0) {
                        text = html;
                    }

                    if (text) {
                        advance(text.length);
                    }

                    if (options.chars && text) {
                        options.chars(text, index - text.length, index);
                    }
                } else {
                    var endTagLength = 0;
                    var stackedTag = lastTag.toLowerCase();
                    var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));
                    var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {
                        endTagLength = endTag.length;
                        if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {
                            text = text
                                .replace(/<!\--([\s\S]*?)-->/g, '$1') // #7298
                                .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1');
                        }
                        if (shouldIgnoreFirstNewline(stackedTag, text)) {
                            text = text.slice(1);
                        }
                        if (options.chars) {
                            options.chars(text);
                        }
                        return ''
                    });
                    index += html.length - rest$1.length;
                    html = rest$1;
                    parseEndTag(stackedTag, index - endTagLength, index);
                }

                if (html === last) {
                    options.chars && options.chars(html);
                    if (!stack.length && options.warn) {
                        options.warn(("Mal-formatted tag at end of template: \"" + html + "\""), { start: index + html.length });
                    }
                    break
                }
            }

            // Clean up any remaining tags
            parseEndTag();

            function advance (n) {
                index += n;
                html = html.substring(n);
            }

            function parseStartTag () {
                var start = html.match(startTagOpen);
                if (start) {
                    var match = {
                        tagName: start[1],
                        attrs: [],
                        start: index
                    };
                    advance(start[0].length);
                    var end, attr;
                    while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {
                        attr.start = index;
                        advance(attr[0].length);
                        attr.end = index;
                        match.attrs.push(attr);
                    }
                    if (end) {
                        match.unarySlash = end[1];
                        advance(end[0].length);
                        match.end = index;
                        return match
                    }
                }
            }

            function handleStartTag (match) {
                var tagName = match.tagName;
                var unarySlash = match.unarySlash;

                if (expectHTML) {
                    if (lastTag === 'p' && isNonPhrasingTag(tagName)) {
                        parseEndTag(lastTag);
                    }
                    if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {
                        parseEndTag(tagName);
                    }
                }

                var unary = isUnaryTag$$1(tagName) || !!unarySlash;

                var l = match.attrs.length;
                var attrs = new Array(l);
                for (var i = 0; i < l; i++) {
                    var args = match.attrs[i];
                    var value = args[3] || args[4] || args[5] || '';
                    var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'
                        ? options.shouldDecodeNewlinesForHref
                        : options.shouldDecodeNewlines;
                    attrs[i] = {
                        name: args[1],
                        value: decodeAttr(value, shouldDecodeNewlines)
                    };
                    if (options.outputSourceRange) {
                        attrs[i].start = args.start + args[0].match(/^\s*/).length;
                        attrs[i].end = args.end;
                    }
                }

                if (!unary) {
                    stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });
                    lastTag = tagName;
                }

                if (options.start) {
                    options.start(tagName, attrs, unary, match.start, match.end);
                }
            }

            function parseEndTag (tagName, start, end) {
                var pos, lowerCasedTagName;
                if (start == null) { start = index; }
                if (end == null) { end = index; }

                // Find the closest opened tag of the same type
                if (tagName) {
                    lowerCasedTagName = tagName.toLowerCase();
                    for (pos = stack.length - 1; pos >= 0; pos--) {
                        if (stack[pos].lowerCasedTag === lowerCasedTagName) {
                            break
                        }
                    }
                } else {
                    // If no tag name is provided, clean shop
                    pos = 0;
                }

                if (pos >= 0) {
                    // Close all the open elements, up the stack
                    for (var i = stack.length - 1; i >= pos; i--) {
                        if (i > pos || !tagName &&
                            options.warn
                        ) {
                            options.warn(
                                ("tag <" + (stack[i].tag) + "> has no matching end tag."),
                                { start: stack[i].start, end: stack[i].end }
                            );
                        }
                        if (options.end) {
                            options.end(stack[i].tag, start, end);
                        }
                    }

                    // Remove the open elements from the stack
                    stack.length = pos;
                    lastTag = pos && stack[pos - 1].tag;
                } else if (lowerCasedTagName === 'br') {
                    if (options.start) {
                        options.start(tagName, [], true, start, end);
                    }
                } else if (lowerCasedTagName === 'p') {
                    if (options.start) {
                        options.start(tagName, [], false, start, end);
                    }
                    if (options.end) {
                        options.end(tagName, start, end);
                    }
                }
            }
        }


        /**
         * Parse a single-file component (*.vue) file into an SFC Descriptor Object.
         */
        function parseComponent(
            content,
            options
        ) {
            if (options === void 0) options = {};

            var sfc = {
                template: null,
                script: null,
                styles: [],
                customBlocks: [],
                errors: []
            };
            var depth = 0;
            var currentBlock = null;

            var warn = function (msg) {
                sfc.errors.push(msg);
            };

            if (options.outputSourceRange) {
                warn = function (msg, range) {
                    var data = {msg: msg};
                    if (range.start != null) {
                        data.start = range.start;
                    }
                    if (range.end != null) {
                        data.end = range.end;
                    }
                    sfc.errors.push(data);
                };
            }

            function start(
                tag,
                attrs,
                unary,
                start,
                end
            ) {
                if (depth === 0) {
                    currentBlock = {
                        type: tag,
                        content: '',
                        start: end,
                        attrs: attrs.reduce(function (cumulated, ref) {
                            var name = ref.name;
                            var value = ref.value;

                            cumulated[name] = value || true;
                            return cumulated
                        }, {})
                    };
                    if (isSpecialTag(tag)) {
                        checkAttrs(currentBlock, attrs);
                        if (tag === 'style') {
                            sfc.styles.push(currentBlock);
                        } else {
                            sfc[tag] = currentBlock;
                        }
                    } else { // custom blocks
                        sfc.customBlocks.push(currentBlock);
                    }
                }
                if (!unary) {
                    depth++;
                }
            }

            function checkAttrs(block, attrs) {
                for (var i = 0; i < attrs.length; i++) {
                    var attr = attrs[i];
                    if (attr.name === 'lang') {
                        block.lang = attr.value;
                    }
                    if (attr.name === 'scoped') {
                        block.scoped = true;
                    }
                    if (attr.name === 'module') {
                        block.module = attr.value || true;
                    }
                    if (attr.name === 'src') {
                        block.src = attr.value;
                    }
                }
            }

            function end(tag, start) {
                if (depth === 1 && currentBlock) {
                    currentBlock.end = start;
                    var text = content.slice(currentBlock.start, currentBlock.end);
                    if (options.deindent !== false) {
                        text = deindent(text);
                    }
                    // pad content so that linters and pre-processors can output correct
                    // line numbers in errors and warnings
                    if (currentBlock.type !== 'template' && options.pad) {
                        text = padContent(currentBlock, options.pad) + text;
                    }
                    currentBlock.content = text;
                    currentBlock = null;
                }
                depth--;
            }

            function padContent(block, pad) {
                if (pad === 'space') {
                    return content.slice(0, block.start).replace(replaceRE, ' ')
                } else {
                    var offset = content.slice(0, block.start).split(splitRE).length;
                    var padChar = block.type === 'script' && !block.lang
                        ? '//\n'
                        : '\n';
                    return Array(offset).join(padChar)
                }
            }

            parseHTML(content, {
                warn: warn,
                start: start,
                end: end,
                outputSourceRange: options.outputSourceRange
            });

            return sfc
        }
        return parseComponent
    })()
    window._$=function(def,append){
        if(def.constructor==Function){
            return def()
        }
        let path=append.path
        delete append.path
        if(append.style){
            let idx=0;
            let sel=document.createElement("style")
            let style=append.style
            if(path){
                style+=dbg_css(path+'.css')
            }
            sel.innerHTML=style
            let mixin={
                mounted(){
                    idx++;
                    if(idx==1){
                        document.head.appendChild(sel)
                    }
                },
                beforeDestroy() {
                    idx--;
                    if(idx<=0){
                        document.head.removeChild(sel)
                    }
                }
            }
            if(def.mixins){
                def.mixins.push(mixin)
            }else{
                def.mixins = [mixin]
            }
            delete append.style
        }
        return Object.assign(def,append)
    }
    function dbg_css(path) {
        return "\n/*# sourceURL=" + path + "*/";
    }
    function dbg_source(path) {
        return "\n//# sourceURL=" + path + "\n";
    }
    function toStrBlock(src){
        return "`"+src.replace(/\\/g,"\\\\").replace(/`/g,"\\`")+"`"
    }
    function build(source, name, onLoad, path, req) {
        var component = parseComponent(source);
        var script = component.script.content;
        var style = component.styles.map(function(it) {
            return it.content;
        }).join("\n");
        var template = component.template.content;
        if (!script) {
            script = "return {}";
        } else {
            script = script.replace(/(\s|^)export\s+default\s*\{/, "\nreturn {");
            script = script.replace(/import\s+([\{\w\,\}\s]+\s+from\s+)?(['"][\.\-\:\/\w\d]+['"])/g, function(res, v, f) {
                if (!v) {
                    return "require(" + f + ")";
                } else {
                    var name = v.replace(/\s+from\s+$/, "");
                    return "const " + name + " = require(" + f + ")";
                }
            });
        }
        var append="\npath:'"+path+"'";
        if (template) {
            append+=",template:"+toStrBlock(template)
        }
        if (style) {
            append+=",style:"+toStrBlock(style)
        }
        var finalSrc="define(((_)=>(require) =>_$((() =>{"+script+"})(), _))({"+append+"}))\n"+dbg_source(path)
        var blb = new Blob([ finalSrc ], {
            type: "text/javascript;charset=utf-8"
        });
        let blbUrl = URL.createObjectURL(blb);
        let context = requirejs.s.contexts._;
        let innerCtx = {
            contextName: context.contextName,
            config: context.config,
            onScriptLoad: function(evt) {
                URL.revokeObjectURL(blbUrl);
                context.onScriptLoad(evt);
            },
            onScriptError: context.onScriptError
        };
        requirejs.load(innerCtx, name, blbUrl);
    }
    return {
        version: "0.1",
        load: function(name, req, onLoad, config) {
            if (config.isBuild) {
                onLoad();
                return;
            }
            let path = "";
            if (debug) {
                path = req.toUrl(name);
                if (!/^https?:\/\//.test(path)) {
                    let a = document.createElement("a");
                    a.href = path;
                    path = a.href;
                }
            }
            fetch(req.toUrl(name)).then(function(r) {
                if (r.status == 200 || r.status == 304) {
                    if (r.headers.get("content-type").indexOf("javascript") > -1) {
                        r.text().then(function(data) {
                            onLoad.fromText(data);//后端编译模式直接载入
                        });
                    }  else if(r.headers.get("content-type").indexOf("application/octet-stream") > -1){
                        r.arrayBuffer().then(function(data) {
                            onLoad.fromText(require.decode(data));
                        });
                    }else {
                        r.text().then(function(data) {
                            build(data, name, onLoad, path, req);
                        });
                    }
                } else {
                    onLoad.error(r);
                }
            }).catch(function(e) {
                onLoad.error(e);
            });
        }
    };
});
//decoder
require.decode=(function(){var T=(e,t,i,n)=>{let a=65535&e|0,r=e>>>16&65535|0,o=0;for(;0!==i;){for(o=2e3<i?2e3:i,i-=o;a=a+t[n++]|0,r=r+a|0,--o;);a%=65521,r%=65521}return a|r<<16|0};const o=new Uint32Array((()=>{let e,t=[];for(var i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t})());var U=(t,i,e,n)=>{var a=o,r=n+e;t^=-1;for(let e=n;e<r;e++)t=t>>>8^a[255&(t^i[e])];return-1^t};const B=15,I=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),N=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),F=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),z=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var C=(e,t,i,n,a,r,o,s)=>{var l,d=s.bits;let f=0,h=0,c=0,u=0,b=0,w=0,m=0,k=0,_=0,g=0,v,p,x,y,E=null,R=0,A;const Z=new Uint16Array(16),S=new Uint16Array(16);let T=null,U=0,C,O,D;for(f=0;f<=B;f++)Z[f]=0;for(h=0;h<n;h++)Z[t[i+h]]++;for(b=d,u=B;1<=u&&0===Z[u];u--);if(b>u&&(b=u),0===u)return a[r++]=20971520,a[r++]=20971520,s.bits=1,0;for(c=1;c<u&&0===Z[c];c++);for(b<c&&(b=c),k=1,f=1;f<=B;f++)if(k<<=1,k-=Z[f],k<0)return-1;if(0<k&&(0===e||1!==u))return-1;for(S[1]=0,f=1;f<B;f++)S[f+1]=S[f]+Z[f];for(h=0;h<n;h++)0!==t[i+h]&&(o[S[t[i+h]]++]=h);if(A=0===e?(E=T=o,19):1===e?(E=I,R-=257,T=N,U-=257,256):(E=F,T=z,-1),g=0,h=0,f=c,y=r,w=b,m=0,x=-1,_=1<<b,l=_-1,1===e&&852<_||2===e&&592<_)return 1;for(;;){for(C=f-m,D=o[h]<A?(O=0,o[h]):o[h]>A?(O=T[U+o[h]],E[R+o[h]]):(O=96,0),v=1<<f-m,p=1<<w,c=p;p-=v,a[y+(g>>m)+p]=C<<24|O<<16|D|0,0!==p;);for(v=1<<f-1;g&v;)v>>=1;if(0!==v?(g&=v-1,g+=v):g=0,h++,0==--Z[f]){if(f===u)break;f=t[i+o[h]]}if(f>b&&(g&l)!==x){for(0===m&&(m=b),y+=c,w=f-m,k=1<<w;w+m<u&&(k-=Z[w+m],!(k<=0));)w++,k<<=1;if(_+=1<<w,1===e&&852<_||2===e&&592<_)return 1;x=g&l,a[x]=b<<24|w<<16|y-r|0}}return 0!==g&&(a[y+g]=f-m<<24|64<<16|0),s.bits=b,0},e={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{Z_FINISH:O,Z_BLOCK:D,Z_TREES:L,Z_OK:M,Z_STREAM_END:H,Z_NEED_DICT:j,Z_STREAM_ERROR:K,Z_DATA_ERROR:P,Z_MEM_ERROR:Y,Z_BUF_ERROR:G,Z_DEFLATED:X}=e,W=12;const q=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const i=e=>{if(!e||!e.state)return K;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,M},a=e=>{if(!e||!e.state)return K;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,i(e)},r=(e,t)=>{let i;if(!e||!e.state)return K;const n=e.state;return t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?K:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=i,n.wbits=t,a(e))},t=(e,t)=>{if(!e)return K;const i=new n;e.state=i,i.window=null;t=r(e,t);return t!==M&&(e.state=null),t};let J=!0,Q,V;const $=(e,t,i,n)=>{let a;const r=e.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),n>=r.wsize?(r.window.set(t.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):(a=r.wsize-r.wnext,a>n&&(a=n),r.window.set(t.subarray(i-n,i-n+a),r.wnext),(n-=a)?(r.window.set(t.subarray(i-n,i),0),r.wnext=n,r.whave=r.wsize):(r.wnext+=a,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=a))),0};var h={inflateReset:a,inflateReset2:r,inflateResetKeep:i,inflateInit:e=>t(e,15),inflateInit2:t,inflate:(e,t)=>{let i,n,a,r,o,s,l,d,f,h,c,u,b,w,m=0,k,_,g,v,p,x,y,E;const R=new Uint8Array(4);let A,Z;var S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return K;i=e.state,i.mode===W&&(i.mode=13),o=e.next_out,a=e.output,l=e.avail_out,r=e.next_in,n=e.input,s=e.avail_in,d=i.hold,f=i.bits,h=s,c=l,E=M;e:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;f<16;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(2&i.wrap&&35615===d){i.check=0,R[0]=255&d,R[1]=d>>>8&255,i.check=U(i.check,R,2,0),d=0,f=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&d)<<8)+(d>>8))%31){e.msg="incorrect header check",i.mode=30;break}if((15&d)!==X){e.msg="unknown compression method",i.mode=30;break}if(d>>>=4,f-=4,y=8+(15&d),0===i.wbits)i.wbits=y;else if(y>i.wbits){e.msg="invalid window size",i.mode=30;break}i.dmax=1<<i.wbits,e.adler=i.check=1,i.mode=512&d?10:W,d=0,f=0;break;case 2:for(;f<16;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(i.flags=d,(255&i.flags)!==X){e.msg="unknown compression method",i.mode=30;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=30;break}i.head&&(i.head.text=d>>8&1),512&i.flags&&(R[0]=255&d,R[1]=d>>>8&255,i.check=U(i.check,R,2,0)),d=0,f=0,i.mode=3;case 3:for(;f<32;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}i.head&&(i.head.time=d),512&i.flags&&(R[0]=255&d,R[1]=d>>>8&255,R[2]=d>>>16&255,R[3]=d>>>24&255,i.check=U(i.check,R,4,0)),d=0,f=0,i.mode=4;case 4:for(;f<16;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}i.head&&(i.head.xflags=255&d,i.head.os=d>>8),512&i.flags&&(R[0]=255&d,R[1]=d>>>8&255,i.check=U(i.check,R,2,0)),d=0,f=0,i.mode=5;case 5:if(1024&i.flags){for(;f<16;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}i.length=d,i.head&&(i.head.extra_len=d),512&i.flags&&(R[0]=255&d,R[1]=d>>>8&255,i.check=U(i.check,R,2,0)),d=0,f=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(u=i.length,u>s&&(u=s),u&&(i.head&&(y=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(n.subarray(r,r+u),y)),512&i.flags&&(i.check=U(i.check,n,u,r)),s-=u,r+=u,i.length-=u),i.length))break e;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===s)break e;for(u=0;y=n[r+u++],i.head&&y&&i.length<65536&&(i.head.name+=String.fromCharCode(y)),y&&u<s;);if(512&i.flags&&(i.check=U(i.check,n,u,r)),s-=u,r+=u,y)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===s)break e;for(u=0;y=n[r+u++],i.head&&y&&i.length<65536&&(i.head.comment+=String.fromCharCode(y)),y&&u<s;);if(512&i.flags&&(i.check=U(i.check,n,u,r)),s-=u,r+=u,y)break e}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;f<16;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(d!==(65535&i.check)){e.msg="header crc mismatch",i.mode=30;break}d=0,f=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=W;break;case 10:for(;f<32;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}e.adler=i.check=q(d),d=0,f=0,i.mode=11;case 11:if(0===i.havedict)return e.next_out=o,e.avail_out=l,e.next_in=r,e.avail_in=s,i.hold=d,i.bits=f,j;e.adler=i.check=1,i.mode=W;case W:if(t===D||t===L)break e;case 13:if(i.last){d>>>=7&f,f-=7&f,i.mode=27;break}for(;f<3;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}switch(i.last=1&d,d>>>=1,--f,3&d){case 0:i.mode=14;break;case 1:if((t=>{if(J){Q=new Int32Array(512),V=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(C(1,t.lens,0,288,Q,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;C(2,t.lens,0,32,V,0,t.work,{bits:5}),J=!1}t.lencode=Q,t.lenbits=9,t.distcode=V,t.distbits=5})(i),i.mode=20,t!==L)break;d>>>=2,f-=2;break e;case 2:i.mode=17;break;case 3:e.msg="invalid block type",i.mode=30}d>>>=2,f-=2;break;case 14:for(d>>>=7&f,f-=7&f;f<32;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if((65535&d)!=(d>>>16^65535)){e.msg="invalid stored block lengths",i.mode=30;break}if(i.length=65535&d,d=0,f=0,i.mode=15,t===L)break e;case 15:i.mode=16;case 16:if(u=i.length,u){if(u>s&&(u=s),u>l&&(u=l),0===u)break e;a.set(n.subarray(r,r+u),o),s-=u,r+=u,l-=u,o+=u,i.length-=u;break}i.mode=W;break;case 17:for(;f<14;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(i.nlen=257+(31&d),d>>>=5,f-=5,i.ndist=1+(31&d),d>>>=5,f-=5,i.ncode=4+(15&d),d>>>=4,f-=4,286<i.nlen||30<i.ndist){e.msg="too many length or distance symbols",i.mode=30;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;f<3;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}i.lens[S[i.have++]]=7&d,d>>>=3,f-=3}for(;i.have<19;)i.lens[S[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,A={bits:i.lenbits},E=C(0,i.lens,0,19,i.lencode,0,i.work,A),i.lenbits=A.bits,E){e.msg="invalid code lengths set",i.mode=30;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;m=i.lencode[d&(1<<i.lenbits)-1],k=m>>>24,_=m>>>16&255,g=65535&m,!(k<=f);){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(g<16)d>>>=k,f-=k,i.lens[i.have++]=g;else{if(16===g){for(Z=k+2;f<Z;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(d>>>=k,f-=k,0===i.have){e.msg="invalid bit length repeat",i.mode=30;break}y=i.lens[i.have-1],u=3+(3&d),d>>>=2,f-=2}else if(17===g){for(Z=k+3;f<Z;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}d>>>=k,f-=k,y=0,u=3+(7&d),d>>>=3,f-=3}else{for(Z=k+7;f<Z;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}d>>>=k,f-=k,y=0,u=11+(127&d),d>>>=7,f-=7}if(i.have+u>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=30;break}for(;u--;)i.lens[i.have++]=y}}if(30===i.mode)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=30;break}if(i.lenbits=9,A={bits:i.lenbits},E=C(1,i.lens,0,i.nlen,i.lencode,0,i.work,A),i.lenbits=A.bits,E){e.msg="invalid literal/lengths set",i.mode=30;break}if(i.distbits=6,i.distcode=i.distdyn,A={bits:i.distbits},E=C(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,A),i.distbits=A.bits,E){e.msg="invalid distances set",i.mode=30;break}if(i.mode=20,t===L)break e;case 20:i.mode=21;case 21:if(6<=s&&258<=l){e.next_out=o,e.avail_out=l,e.next_in=r,e.avail_in=s,i.hold=d,i.bits=f,function(e,t){let i;var n,a,r,o,s,l,d,f,h,c,u,b,w;let m,k,_,g,v,p,x,y,E,R;const A=e.state;i=e.next_in,E=e.input,n=i+(e.avail_in-5),m=e.next_out,R=e.output,a=m-(t-e.avail_out),r=m+(e.avail_out-257),o=A.dmax,s=A.wsize,l=A.whave,d=A.wnext,f=A.window,k=A.hold,_=A.bits,h=A.lencode,c=A.distcode,u=(1<<A.lenbits)-1,b=(1<<A.distbits)-1;t:do{_<15&&(k+=E[i++]<<_,_+=8,k+=E[i++]<<_,_+=8),g=h[k&u];i:for(;;){if(v=g>>>24,k>>>=v,_-=v,v=g>>>16&255,0===v)R[m++]=65535&g;else{if(!(16&v)){if(0==(64&v)){g=h[(65535&g)+(k&(1<<v)-1)];continue i}if(32&v){A.mode=12;break t}e.msg="invalid literal/length code",A.mode=30;break t}p=65535&g,v&=15,v&&(_<v&&(k+=E[i++]<<_,_+=8),p+=k&(1<<v)-1,k>>>=v,_-=v),_<15&&(k+=E[i++]<<_,_+=8,k+=E[i++]<<_,_+=8),g=c[k&b];n:for(;;){if(v=g>>>24,k>>>=v,_-=v,v=g>>>16&255,!(16&v)){if(0==(64&v)){g=c[(65535&g)+(k&(1<<v)-1)];continue n}e.msg="invalid distance code",A.mode=30;break t}if(w=65535&g,v&=15,_<v&&(k+=E[i++]<<_,_+=8,_<v&&(k+=E[i++]<<_,_+=8)),o<(w+=k&(1<<v)-1)){e.msg="invalid distance too far back",A.mode=30;break t}if(k>>>=v,_-=v,v=m-a,w>v){if(v=w-v,v>l&&A.sane){e.msg="invalid distance too far back",A.mode=30;break t}if(x=0,y=f,0===d){if(x+=s-v,v<p){for(p-=v;R[m++]=f[x++],--v;);x=m-w,y=R}}else if(d<v){if(x+=s+d-v,v-=d,v<p){for(p-=v;R[m++]=f[x++],--v;);if(x=0,d<p){for(v=d,p-=v;R[m++]=f[x++],--v;);x=m-w,y=R}}}else if(x+=d-v,v<p){for(p-=v;R[m++]=f[x++],--v;);x=m-w,y=R}for(;2<p;)R[m++]=y[x++],R[m++]=y[x++],R[m++]=y[x++],p-=3;p&&(R[m++]=y[x++],1<p&&(R[m++]=y[x++]))}else{for(x=m-w;R[m++]=R[x++],R[m++]=R[x++],R[m++]=R[x++],p-=3,2<p;);p&&(R[m++]=R[x++],1<p&&(R[m++]=R[x++]))}break}}break}}while(i<n&&m<r);p=_>>3,i-=p,_-=p<<3,k&=(1<<_)-1,e.next_in=i,e.next_out=m,e.avail_in=i<n?n-i+5:5-(i-n),e.avail_out=m<r?r-m+257:257-(m-r),A.hold=k,A.bits=_}(e,c),o=e.next_out,a=e.output,l=e.avail_out,r=e.next_in,n=e.input,s=e.avail_in,d=i.hold,f=i.bits,i.mode===W&&(i.back=-1);break}for(i.back=0;m=i.lencode[d&(1<<i.lenbits)-1],k=m>>>24,_=m>>>16&255,g=65535&m,!(k<=f);){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(_&&0==(240&_)){for(v=k,p=_,x=g;m=i.lencode[x+((d&(1<<v+p)-1)>>v)],k=m>>>24,_=m>>>16&255,g=65535&m,!(v+k<=f);){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}d>>>=v,f-=v,i.back+=v}if(d>>>=k,f-=k,i.back+=k,i.length=g,0===_){i.mode=26;break}if(32&_){i.back=-1,i.mode=W;break}if(64&_){e.msg="invalid literal/length code",i.mode=30;break}i.extra=15&_,i.mode=22;case 22:if(i.extra){for(Z=i.extra;f<Z;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}i.length+=d&(1<<i.extra)-1,d>>>=i.extra,f-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;m=i.distcode[d&(1<<i.distbits)-1],k=m>>>24,_=m>>>16&255,g=65535&m,!(k<=f);){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(0==(240&_)){for(v=k,p=_,x=g;m=i.distcode[x+((d&(1<<v+p)-1)>>v)],k=m>>>24,_=m>>>16&255,g=65535&m,!(v+k<=f);){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}d>>>=v,f-=v,i.back+=v}if(d>>>=k,f-=k,i.back+=k,64&_){e.msg="invalid distance code",i.mode=30;break}i.offset=g,i.extra=15&_,i.mode=24;case 24:if(i.extra){for(Z=i.extra;f<Z;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}i.offset+=d&(1<<i.extra)-1,d>>>=i.extra,f-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=30;break}i.mode=25;case 25:if(0===l)break e;if(u=c-l,i.offset>u){if(u=i.offset-u,u>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=30;break}b=u>i.wnext?(u-=i.wnext,i.wsize-u):i.wnext-u,u>i.length&&(u=i.length),w=i.window}else w=a,b=o-i.offset,u=i.length;for(u>l&&(u=l),l-=u,i.length-=u;a[o++]=w[b++],--u;);0===i.length&&(i.mode=21);break;case 26:if(0===l)break e;a[o++]=i.length,l--,i.mode=21;break;case 27:if(i.wrap){for(;f<32;){if(0===s)break e;s--,d|=n[r++]<<f,f+=8}if(c-=l,e.total_out+=c,i.total+=c,c&&(e.adler=i.check=(i.flags?U:T)(i.check,a,c,o-c)),c=l,(i.flags?d:q(d))!==i.check){e.msg="incorrect data check",i.mode=30;break}d=0,f=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;f<32;){if(0===s)break e;s--,d+=n[r++]<<f,f+=8}if(d!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=30;break}d=0,f=0}i.mode=29;case 29:E=H;break e;case 30:E=P;break e;case 31:return Y;case 32:default:return K}return e.next_out=o,e.avail_out=l,e.next_in=r,e.avail_in=s,i.hold=d,i.bits=f,(i.wsize||c!==e.avail_out&&i.mode<30&&(i.mode<27||t!==O))&&$(e,e.output,e.next_out,c-e.avail_out),h-=e.avail_in,c-=e.avail_out,e.total_in+=h,e.total_out+=c,i.total+=c,i.wrap&&c&&(e.adler=i.check=(i.flags?U:T)(i.check,a,c,e.next_out-c)),e.data_type=i.bits+(i.last?64:0)+(i.mode===W?128:0)+(20===i.mode||15===i.mode?256:0),(0==h&&0===c||t===O)&&E===M&&(E=G),E},inflateEnd:e=>{if(!e||!e.state)return K;let t=e.state;return t.window&&(t.window=null),e.state=null,M},inflateGetHeader:(e,t)=>{if(!e||!e.state)return K;const i=e.state;return 0==(2&i.wrap)?K:((i.head=t).done=!1,M)},inflateSetDictionary:(e,t)=>{var i=t.length;let n;return e&&e.state?(n=e.state,0!==n.wrap&&11!==n.mode?K:11===n.mode&&T(1,t,i,0)!==n.check?P:$(e,t,i,i)?(n.mode=31,Y):(n.havedict=1,M)):K},inflateInfo:"pako inflate (from Nodeca project)"};var s={assign:function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const r in i)n=i,a=r,Object.prototype.hasOwnProperty.call(n,a)&&(e[r]=i[r])}}var n,a;return e},flattenChunks:n=>{let i=0;for(let e=0,t=n.length;e<t;e++)i+=n[e].length;const a=new Uint8Array(i);for(let e=0,t=0,i=n.length;e<i;e++){var r=n[e];a.set(r,t),t+=r.length}return a}};let l=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){l=!1}const d=new Uint8Array(256);for(let e=0;e<256;e++)d[e]=252<=e?6:248<=e?5:240<=e?4:224<=e?3:192<=e?2:1;d[254]=d[254]=1;var c={string2buf:e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,i,n,a,r,o=e.length,s=0;for(a=0;a<o;a++)i=e.charCodeAt(a),55296==(64512&i)&&a+1<o&&(n=e.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),s+=i<128?1:i<2048?2:i<65536?3:4;for(t=new Uint8Array(s),r=0,a=0;r<s;a++)i=e.charCodeAt(a),55296==(64512&i)&&a+1<o&&(n=e.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),i<128?t[r++]=i:(i<2048?t[r++]=192|i>>>6:(i<65536?t[r++]=224|i>>>12:(t[r++]=240|i>>>18,t[r++]=128|i>>>12&63),t[r++]=128|i>>>6&63),t[r++]=128|63&i);return t},buf2string:(i,e)=>{var n=e||i.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(i.subarray(0,e));let a,r;const o=new Array(2*n);for(r=0,a=0;a<n;){let t=i[a++];if(t<128)o[r++]=t;else{let e=d[t];if(4<e)o[r++]=65533,a+=e-1;else{for(t&=2===e?31:3===e?15:7;1<e&&a<n;)t=t<<6|63&i[a++],e--;1<e?o[r++]=65533:t<65536?o[r++]=t:(t-=65536,o[r++]=55296|t>>10&1023,o[r++]=56320|1023&t)}}}return((t,i)=>{if(i<65534&&t.subarray&&l)return String.fromCharCode.apply(null,t.length===i?t:t.subarray(0,i));let n="";for(let e=0;e<i;e++)n+=String.fromCharCode(t[e]);return n})(o,r)},utf8border:(e,t)=>{let i=(t=(t=t||e.length)>e.length?e.length:t)-1;for(;0<=i&&128==(192&e[i]);)i--;return!(i<0)&&0!==i&&i+d[e[i]]>t?i:t}},f={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};var u=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};var b=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const w=Object.prototype.toString,{Z_NO_FLUSH:m,Z_FINISH:k,Z_OK:_,Z_STREAM_END:g,Z_NEED_DICT:v,Z_STREAM_ERROR:p,Z_DATA_ERROR:x,Z_MEM_ERROR:y}=e;function E(e){this.options=s.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new u,this.strm.avail_out=0;let i=h.inflateInit2(this.strm,t.windowBits);if(i!==_)throw new Error(f[i]);if(this.header=new b,h.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=c.string2buf(t.dictionary):"[object ArrayBuffer]"===w.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(i=h.inflateSetDictionary(this.strm,t.dictionary),i!==_)))throw new Error(f[i])}function R(e,t){const i=new E(t);if(i.push(e),i.err)throw i.msg||f[i.err];return i.result}E.prototype.push=function(e,t){const i=this.strm;var n,a,r,o=this.options.chunkSize,s=this.options.dictionary;let l,d,f;if(this.ended)return!1;for(d=t===~~t?t:!0===t?k:m,"[object ArrayBuffer]"===w.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),l=h.inflate(i,d),l===v&&s&&(l=h.inflateSetDictionary(i,s),l===_?l=h.inflate(i,d):l===x&&(l=v));0<i.avail_in&&l===g&&0<i.state.wrap&&0!==e[i.next_in];)h.inflateReset(i),l=h.inflate(i,d);switch(l){case p:case x:case v:case y:return this.onEnd(l),!(this.ended=!0)}if(f=i.avail_out,i.next_out&&(0!==i.avail_out&&l!==g||("string"===this.options.to?(n=c.utf8border(i.output,i.next_out),a=i.next_out-n,r=c.buf2string(i.output,n),i.next_out=a,i.avail_out=o-a,a&&i.output.set(i.output.subarray(n,n+a),0),this.onData(r)):this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out)))),l!==_||0!==f){if(l===g)return l=h.inflateEnd(this.strm),this.onEnd(l),this.ended=!0;if(0===i.avail_in)break}}return!0},E.prototype.onData=function(e){this.chunks.push(e)},E.prototype.onEnd=function(e){e===_&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};return function(e){return function(e){for(var t,i,n,a="",r=0,o=e.length;r<o;)(t=e[r++])>>4<=7?a+=String.fromCharCode(t):t>>4==12||t>>4==13?(i=e[r++],a+=String.fromCharCode((31&t)<<6|63&i)):t>>4==14&&(i=e[r++],n=e[r++],a+=String.fromCharCode((15&t)<<12|(63&i)<<6|(63&n)<<0));return a}(R(e))}})();
